package com.ld.service;

import com.ld.entity.Country;
import com.ld.entity.Customer;
import com.ld.entity.Staff;
import com.ld.entity.UserFile;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


public interface UserService {


    /**
     * @return 返回员工信息 无则返回null
     * @userName 账号
     * @passWord 密码
     */
    Staff staffLogin(String userName);

    /**
     * @param userName 账号
     * @param oldPwd   原密码
     * @param newPwd   新密码
     * @return 提示信息
     */
    String changePwd(String userName, String oldPwd, String newPwd);

    /**
     * @param customerId 客户id
     * @return 此客户的详细信息
     */
    Customer getCustomerInfoByCustomerId(Integer customerId);

    /**
     * @param staffId 员工id
     * @return 返回该员工的详细, 不应包括(密码, 盐, 权限)
     */
    Staff getStaffInfoByStaffId(Integer staffId);


    /**
     * @param userName 员工账号
     * @return 返回该员工的详细, 不应包括(密码, 盐, 权限)
     */
    Staff getStaffInfoByStaffUserName(String userName);

    /**
     * @return 查询所有国家, 每个国家对应多个城市
     */
    List<Country> getAllCountryAndCity();

    /**
     * 修改员工信息
     * @param staff
     * @return
     */
    String changeStaffInfo(Staff staff);

    /**更新/上传头像
     * @param photo 头像文件
     * @param userName 账号
     * @return 成功与否消息
     */
    public String uploadHeadPhoto(MultipartFile photo, String userName);


}
